package leedcode_path.stringleedcode;

import java.util.Arrays;

public class 右旋字符串 {
    /*
    * 题目描述
字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k，请编写一个函数，将字符串中的后面 k 个字符移到字符串的前面，实现字符串的右旋转操作。



输入描述
输入共包含两行，第一行为一个正整数 k，代表右旋转的位数。第二行为字符串 s，代表需要旋转的字符串。
输出描述
输出共一行，为进行了右旋转操作后的字符串。
输入示例
2
abcdefg
输出示例
fgabcde
提示信息
数据范围：
1 <= k < 10000,
1 <= s.length < 10000;*/
    public String reverseWords(String s,int num){
//        例如，对于输入字符串 "abcdefg" 和整数 2，函数应该将其转换为 "fgabcde"。
        char[] ch=s.toCharArray();
        reverseString(ch,0,ch.length);
        reverseString(ch,0,num);
        reverseString(ch,num,ch.length);
        return new String(ch);





    }
    public static void  reverseString(char[] ch,int i,int j){
        while (i<j){
            char temp=ch[i];
            ch[i]=ch[j-1];
            ch[j-1]=temp;
            i++;
            j--;
        }
    }

    public static void main(String[] args) {
        右旋字符串 a=new 右旋字符串();
        String s="abcdefg";
        System.out.println(a.reverseWords(s, 2));
    }
}
